﻿Public Class Form1

    Dim ind As Integer = 0 'Numero de question
    Dim tabRep() As String
    Dim tabQr(,) As String
    Dim cest_un_QCS As Boolean
    Dim rep As Integer = 0
    Dim goodrep As Integer = 0 'Nombre de bonnes réponses
    Dim badrep As Integer = 0 'Nombre de mauvaises réponses
    Dim ok As Boolean

    Public Sub initialisation()
        tabRep = {"3", "3", "3", "1", "3", "13", "13", "12"}
        tabQr = {{"Que signifie EDI ?", "Evénementiel Développement Informatique", "Environment Development Integrated", "Environnement de Développement Intégré"}, {"Qu'est-ce qu'un reflexe ?", "Une procédure ou une fonction", "Une procédure événementielle", "Un événement"}, {"Qu'est-ce qu'un contrôle qui a le focus ?", "Un contrôle qui a un problème", "Un contrôle avec une propriété particulière", "Le contrôle actuellement sélectionné"}, {"A quoi sert un sender?", "A désigner l'objet qui a provoqué l'événement", "A désigner l'événement qui a été provoqué", "A écrire des procédures"}, {"A quel moment se produit l'événement Activated d'une Form ?", "Quand la Form est sélectionnée", "Quand la Form est montrée pour la première fois", "Quand la Form est chargée en mémoire"}, {"Qu'est-ce qu'une Form ?", "Une fenêtre", "Une classe", "Le conteneur de base de l'interface graphique"}, {"Quels éléments sont des propriétés (Property) du TextBox ?", "Visible", "Clear", "Text"}, {"Cocher les éléments caractérisant un tableau en VB.net:", "Tous les éléments du tableau ont le même type", "Le tableau peut être redimensionné en cours de traitement", "On définit un tableau avec le mot array"}}
        question.Text = tabQr(0, 0) ' On initialise la première question
            RadioButton1.Text = tabQr(0, 1)
            RadioButton2.Text = tabQr(0, 2)
            RadioButton3.Text = tabQr(0, 3)
            'Permet la superposition des deux Panels : pnlQCS et pnlQCM
            'On rend les deux Panels enfants de la form
            pnlQCS.Parent = Me
            pnlQCM.Parent = Me
            'On indique leur position
            Dim unPoint As New System.Drawing.Point(50, 50)
            pnlQCS.Location = unPoint
            pnlQCM.Location = unPoint

            affichage(ind)
            ListBox1.Items.Add("Vos réponses :")
    End Sub

    Public Sub miseAZero() 'Permet de rmettre à zero les cases à cocher
        CheckBox1.Checked = False
        CheckBox2.Checked = False
        CheckBox3.Checked = False

    End Sub

        Public Function bonneReponse(ByVal ind As Integer)
        cest_un_QCS = ((tabRep(ind).Length) = 1)
        ok = False
        If cest_un_QCS Then

            If (RadioButton1.Checked = True And tabRep(ind) = "1") Then
                ok = True
            ElseIf (RadioButton2.Checked = True And tabRep(ind) = "2") Then
                ok = True
            ElseIf (RadioButton3.Checked = True And tabRep(ind) = "3") Then
                ok = True
            End If

        Else
            If (CheckBox1.Checked = True And CheckBox2.Checked = True And CheckBox3.Checked = False And tabRep(ind) = "12") Then
                ok = True
            ElseIf (CheckBox1.Checked = True And CheckBox2.Checked = False And CheckBox3.Checked = True And tabRep(ind) = "13") Then
                ok = True
            End If
        End If

        Return ok
    End Function
    Public Sub affichage(ByVal ind As Integer)
        Dim i As Integer
        i = 0
        question.Text = tabQr(ind, i)
        cest_un_QCS = ((tabRep(ind).Length) = 1)

        If cest_un_QCS Then
            pnlQCM.Visible = False
            pnlQCM.Enabled = False
            pnlQCS.Visible = True
            pnlQCS.Enabled = True

            RadioButton1.Text = tabQr(ind, 1)
            RadioButton2.Text = tabQr(ind, 2)
            RadioButton3.Text = tabQr(ind, 3)

        Else
            pnlQCS.Visible = False
            pnlQCS.Enabled = False
            pnlQCM.Visible = True
            pnlQCM.Enabled = True

            CheckBox1.Text = tabQr(ind, 1)
            CheckBox2.Text = tabQr(ind, 2)
            CheckBox3.Text = tabQr(ind, 3)
        End If
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        initialisation()
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        End
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If (bonneReponse(ind) = True) Then
            ListBox1.Items.Add("Question " + ind.ToString + ": Vrai") 'ToString sert à convertir l'entier en chaîne de caractère
            goodrep = goodrep + 1 'Si la réponse est bonne on incrémente goodrep
        Else

            ListBox1.Items.Add("Question " + ind.ToString + ": Faux")
            badrep = badrep + 1
        End If
        ind = ind + 1
        If (ind < 8) Then
            affichage(ind)
        Else
            Button1.Enabled = False
            MsgBox("Vous avez " + goodrep.ToString + " bonne(s) réponse(s) et " + badrep.ToString + " mauvaise(s) réponse(s)", MsgBoxStyle.Exclamation)
        End If
        miseAZero()
    End Sub

    Private Sub pnlQCM_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pnlQCM.Enter

    End Sub

    Private Sub question_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles question.Click

    End Sub

    Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged

    End Sub
End Class
